<?php

namespace App\Http\Controllers\Common;

use App\Mail\RegisterMail;
use App\Notifications\CodeNotification;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class CodeController extends Controller
{
    public function send(Request $request,User $user){
        //通过hdjs异步请求过来的要发送通知的用户邮箱在$request请求对象的username这个属性中
        //验证用户填写的邮箱是否合格
        if (!preg_match('/@/',$request['username'])){
            return ['code'=>0,'message'=>'邮箱格式错误'];
        }
        //通过send方法类型约束laravel会自动生成一个空的User对象
        //调用fill()方法向对象中填入属性内容
        $user->fill(['email'=>$request['username']]);
        //调用用户的notify()方法,发送一个用户通知,只是这里的通知是一个邮件通知.后期如果想发送别的通知的话还可以使用notify方法,只是给不同的通知实例就可以了.
        $user->notify(new  CodeNotification($user));
        return ['code'=>1,'message'=>'成功'];
    }
}

